using System;

namespace libcharakter
{
	namespace Talente
	{
		namespace Handwerk
		{
			[Serializable]
			public class HandwerklicheTalent : abTalent
			{
				public HandwerklicheTalent (string name, int value, Charakter charakter)
					: base(name, value, TalentType.Handwerk, TableColum.B, charakter)
				{
				}

				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest) 
				{ 
					return false; 
				}
			}

			[Serializable]
			public class Abrichten : HandwerklicheTalent
			{
				public Abrichten (int value, Charakter charakter)
					: base("Abrichten", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Mut"], eg["Intuition"], eg["Klugheit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Ackerbau : HandwerklicheTalent
			{
				public Ackerbau (int value, Charakter charakter)
					: base("Ackerbau", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Intuition"], eg["Fingerfertigkeit"], eg["Konstitution"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Alchemie : HandwerklicheTalent
			{
				public Alchemie (int value, Charakter charakter)
					: base("Alchemie", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Mut"], eg["Klugheit"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Bergbau : HandwerklicheTalent
			{
				public Bergbau (int value, Charakter charakter)
					: base("Bergbau", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Intuition"], eg["Konstitution"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Bogenbau : HandwerklicheTalent
			{
				public Bogenbau (int value, Charakter charakter)
					: base("Bogenbau", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Intuition"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class BooteFahren : HandwerklicheTalent
			{
				public BooteFahren (int value, Charakter charakter)
					: base("Boote Fahren", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Gewandheit"], eg["Konstitution"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class FahrzeugLenken : HandwerklicheTalent
			{
				public FahrzeugLenken (int value, Charakter charakter)
					: base("Fahrzeug Lenken", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Intuition"], eg["Charisma"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Falschspiel : HandwerklicheTalent
			{
				public Falschspiel (int value, Charakter charakter)
					: base("Falschspiel", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Mut"], eg["Charisma"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Feinmechanik : HandwerklicheTalent
			{
				public Feinmechanik (int value, Charakter charakter)
					: base("Feinmechanik", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Fingerfertigkeit"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Fleischer : HandwerklicheTalent
			{
				public Fleischer (int value, Charakter charakter)
					: base("Fleischer", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Fingerfertigkeit"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class GerberKuerschner : HandwerklicheTalent
			{
				public GerberKuerschner (int value, Charakter charakter)
					: base("Gerber/Kürschner", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Fingerfertigkeit"], eg["Konstitution"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Grobschmied : HandwerklicheTalent
			{
				public Grobschmied (int value, Charakter charakter)
					: base("Grobschmied", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Fingerfertigkeit"], eg["Körperkraft"], eg["Konstitution"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class HeilkundeGift : HandwerklicheTalent
			{
				public HeilkundeGift (int value, Charakter charakter)
					: base("Heilkunde Gift", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Mut"], eg["Klugheit"], eg["Intuition"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class HeilkundeKrankheit : HandwerklicheTalent
			{
				public HeilkundeKrankheit (int value, Charakter charakter)
					: base("Heilkunde Krankheit", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Mut"], eg["Klugheit"], eg["Charisma"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class HeilkundeWunde : HandwerklicheTalent
			{
				public HeilkundeWunde (int value, Charakter charakter)
					: base("Heilkunde Wunde", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Charisma"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Holzbearbeitung : HandwerklicheTalent
			{
				public Holzbearbeitung (int value, Charakter charakter)
					: base("Holzbearbeitung", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Fingerfertigkeit"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Kartographie : HandwerklicheTalent
			{
				public Kartographie (int value, Charakter charakter)
					: base("Kartographie", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Klugheit"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Kochen : HandwerklicheTalent
			{
				public Kochen (int value, Charakter charakter)
					: base("Kochen", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Intuition"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Lederarbeiten : HandwerklicheTalent
			{
				public Lederarbeiten (int value, Charakter charakter)
					: base("Lederarbeiten", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Fingerfertigkeit"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class MalenZeichnen : HandwerklicheTalent
			{
				public MalenZeichnen (int value, Charakter charakter)
					: base("Malen/Zeichnen", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Intuition"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Musizieren : HandwerklicheTalent
			{
				public Musizieren (int value, Charakter charakter)
					: base("Musizieren", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Intuition"], eg["Charisma"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class SchloesserKnacken : HandwerklicheTalent
			{
				public SchloesserKnacken (int value, Charakter charakter)
					: base("Schlösser Knacken", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Intuition"], eg["Fingerfertigkeit"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Schneidern : HandwerklicheTalent
			{
				public Schneidern (int value, Charakter charakter)
					: base("Schneidern", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Fingerfertigkeit"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Seefahrt : HandwerklicheTalent
			{
				public Seefahrt (int value, Charakter charakter)
					: base("Seefahrt", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Fingerfertigkeit"], eg["Gewandheit"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Steinmetz : HandwerklicheTalent
			{
				public Steinmetz (int value, Charakter charakter)
					: base("Steinmetz", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Fingerfertigkeit"], eg["Fingerfertigkeit"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class SteinschneiderJuwelier : HandwerklicheTalent
			{
				public SteinschneiderJuwelier (int value, Charakter charakter)
					: base("Steinschneider/Juwelier", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Intuition"], eg["Fingerfertigkeit"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Taetowieren : HandwerklicheTalent
			{
				public Taetowieren (int value, Charakter charakter)
					: base("Taetowieren", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Intuition"], eg["Fingerfertigkeit"], eg["Fingerfertigkeit"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
			[Serializable]
			public class Zimmermann : HandwerklicheTalent
			{
				public Zimmermann (int value, Charakter charakter)
					: base("Zimmermann", value, charakter)
				{
				}
				public override bool Probe (Eigenschaften eg, int wert1, int wert2, int wert3, int erschwert, ref int rest)
				{
					return Probe(eg["Klugheit"], eg["Fingerfertigkeit"], eg["Körperkraft"], wert1, wert2, wert3,erschwert, ref rest);
				}
			}
		}
	}
}

